/**
 * 
 */
package descriptor;

import java.io.Serializable;

/**
 * StudentDescriptor
 * 
 * @author Mamadou TOURE
 * 
 * The StudentDescriptor class defines a constructor to obtain a Java object corresponding to an instance of the student's bean.
 * And it provides all the methods to get or set the student's details.
 *
 *Note : 	-We use @SuppressWarnings("unchecked") to avoid the warning about the collection element type.
 */
@SuppressWarnings("unchecked")
public class StudentDescriptor implements Serializable
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private int id = 0;
	private String login = "";
	private String password = "";
	private String firstName = "";
	private String surname = "";
	private String email = "";
	private int degreeID = 0;
	private int companySupID = 0;
	private int academicSupID = 0;
	private int placementDiaryID = 0;
	private int academicSupFeedbackID = 0;
	private int companySupFeedbackID = 0;
	private CVListDescriptor CVsID;
	private TimetableListDescriptor timetablelist = null;
	private CompaniesListDescriptor compPref= null;
	private SectorsListDescriptor sectorsPref = null;
	private CitiesListDescriptor citiesPref = null;
	private CountriesListDescriptor countriesPref = null;
	
	public StudentDescriptor()
	{}
	
	public StudentDescriptor(int id, String firstName, String name,String login, String password, String mail, int type, int degreeID, int companySupID, int academicSupID, int placementDiaryID, int academicSupFeedbackID, int companySupFeedbackID, CVListDescriptor CVsID, TimetableListDescriptor timetablelist, CompaniesListDescriptor compPref, SectorsListDescriptor sectorsPref, CitiesListDescriptor citiesPref, CountriesListDescriptor countriesPref)
	{
		super();
		this.id = id;
		this.login = login;
		this.password = password;
		this.firstName = firstName;
		this.surname = name;
		this.email = mail;
		this.degreeID = degreeID;
		this.companySupID = companySupID;
		this.academicSupID = academicSupID;
		this.placementDiaryID = placementDiaryID;
		this.companySupFeedbackID = companySupFeedbackID;
		this.academicSupFeedbackID = academicSupFeedbackID;
		this.CVsID = CVsID;
		this.timetablelist = timetablelist;
		this.compPref = compPref;
		this.sectorsPref = sectorsPref;
		this.citiesPref = citiesPref;
		this.countriesPref = countriesPref;
	}
	
	public int getId() 
	{
		return id;
	}

	public void setId(int id)
	{
		this.id = id;
	}
	
	public String getFirstName() 
	{
		return firstName;
	}

	public void setFirstName(String firstName) 
	{
		this.firstName = firstName;
	}
	
	public String getSurName() 
	{
		return surname;
	}

	public void setSurName(String surName) 
	{
		this.surname = surName;
	}
	
	public String getLogin() 
	{
		return login;
	}

	public void setLogin(String login) 
	{
		this.login = login;
	}
	
	public String getPassword() 
	{
		return password;
	}

	public void setPassword(String password) 
	{
		this.password = password;
	}
	
	public String getEmail()
	{
		return email;
	}

	public void setEmail(String email) 
	{
		this.email = email;
	}

	
	public int getDegree()
	{
		return degreeID;
	}
	
	public void setDegree(int degreeID)
	{
		this.degreeID = degreeID;
	}
	
	public int getCompanySupID()
	{
		return companySupID;
	}
	
	public void setCompanySup(int companySupID)
	{
		this.companySupID = companySupID;
	}
	
	public int getAcademicSup()
	{
		return academicSupID;
	}
	
	public void setAcademicSup(int academicSupID)
	{
		this.academicSupID = academicSupID;
	}
	
	public int getPlacementDiary()
	{
		return placementDiaryID;
	}
	
	public void setPlacementDiary(int placementDiaryID)
	{
		this.placementDiaryID = placementDiaryID;
	}
	
	public int getAcademicSupFeedback()
	{
		return academicSupFeedbackID;
	}
	
	public void setAcademicSupFeedback(int academicSupFeedbackID)
	{
		this.academicSupFeedbackID = academicSupFeedbackID;
	}
	
	public int getCompanySupFeedback()
	{
		return companySupFeedbackID;
	}
	
	public void setCompanySupFeedback(int companySupFeedbackID)
	{
		this.companySupFeedbackID = companySupFeedbackID;
	}
	
	public CVListDescriptor getCVs()
	{
		return CVsID;
	}
	
	public void setCVs(CVListDescriptor CVsID)
	{
		this.CVsID = CVsID;
	}

	public TimetableListDescriptor getTimetableList()
	{
		return timetablelist;
	}
	
	public void setTimetableList(TimetableListDescriptor timetablelist)
	{
		this.timetablelist = timetablelist;
	}
	
	public CompaniesListDescriptor getCompPref()
	{
		return compPref;
	}
	
	public SectorsListDescriptor getSectorsPref()
	{
		return sectorsPref;
	}
	
	public CitiesListDescriptor getCitiesPref()
	{
		return citiesPref;
	}
	
	public CountriesListDescriptor getCountriesPref()
	{
		return countriesPref;
	}
}
